<?php
namespace Common\Model;

class AccountLogModel extends \Think\Model
{
	//自动验证
	protected $_validate = array(
			//新增
			array('target_id', '/^[1-9]\d*$/', '请传入目标记录ID', self::MUST_VALIDATE, 'regex', self::MODEL_INSERT),
			array('user_id', '/^[1-9]\d*$/', '请传入目用户ID', self::MUST_VALIDATE, 'regex', self::MODEL_INSERT),
			array('amount', '/^\d+(\.\d+)*$/', '请传入金额', self::MUST_VALIDATE, 'regex', self::MODEL_INSERT),
			array('type', '/^\d$/', '请传入流水类型', self::MUST_VALIDATE, 'regex', self::MODEL_INSERT),
			array('note', 'require', '请传入备注', self::MUST_VALIDATE, 'regex', self::MODEL_INSERT),
			array('relation', '/^\d$/', '请传入资金源', self::MUST_VALIDATE, 'regex', self::MODEL_INSERT),
			
			//更新状态
			array('status', '/^\d$/', '请传入状态', self::MUST_VALIDATE, 'regex', 10),
	);
	
	//自动完成
	protected $_auto = array(
			array('create_time', NOW_TIME, self::MODEL_INSERT, 'string'),
			array('update_time', NOW_TIME, self::MODEL_BOTH, 'string'),
			array('status', 1, self::MODEL_INSERT, 'string'),
	);
	
	/**
	 * 添加日志
	 * @param array $data
	 */
	public function addLog(array $data)
	{
		//创建数据对象
		if(!$this->create($data)) return array('error' => 1, 'info' => $this->getError());
	
		//添加
		$res = $this->add();
		if($res) return array('error' => 0, 'info' => '日志添加成功');
		return array('error' => 1, 'info' => '添加失败');
	}
	
	/**
	 * 更新记录状态
	 * @param array $data
	 */
	public function changeStatus(array $data)
	{
		//创建数据对象
		if(!$this->create($data, 10)) return array('error' => 1, 'info' => $this->getError());
		
		//更新
		$res = $this->save();
		if($res) return array('error' => 0, 'info' => '日志更新成功');
		return array('error' => 1, 'info' => '日志更新失败');
	}
}